package com.captain.leetcode.字符串;

/**
 * Des:
 * 给你一个字符串 s，由若干单词组成，单词之间用单个或多个连续的空格字符隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词，请返回 0 。
 * <p>
 * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
 * <p>
 * 示例 1：
 * <p>
 * 输入：s = "Hello World"
 * 输出：5
 * 示例 2：
 * <p>
 * 输入：s = " "
 * 输出：0
 *
 * @author XL
 * @Date 2021/7/30 16:32
 */
public class 最后一个单词的长度58 {

    public static void main(String[] args) {
        System.out.println(new 最后一个单词的长度58().lengthOfLastWord("1111 222 dddd "));

    }

    //反向遍历, 遇到' ' 就直接返回
    public int lengthOfLastWord(String s) {
        int len = s.length() - 1;
        int count = 0;
        for (int i = len; i >= 0; i--) {
            char c = s.charAt(i);
            if (c != ' ') count++;
            //count > 0 防止最后一个为空格
            if (c == ' ' && count > 0) break;
        }
        return count;
    }

}
